package com.boot.aop.annotation;

import com.boot.enums.BusinessType;
import com.boot.enums.LogTypeEnum;
import com.boot.enums.OperatorType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiLog {

    /**
     * 模块名称
     */
    public String moduleType() default "模块";

    /**
     * 方法名称
     */
    public String methodName() default "方法";

    /**
     * 日志类型，来源，默认系统日志
     */
    public LogTypeEnum logTypeEnum() default LogTypeEnum.SYSTEM_LOG;

    /**
     * 功能类型
     */
    public BusinessType businessType() default BusinessType.OTHER;

    /**
     * 操作人类别
     */
    public OperatorType operatorType() default OperatorType.MANAGE;

    /**
     * 是否保存请求的参数
     */
    public boolean isSaveRequestData() default true;

    /**
     * 是否保存响应的参数
     */
    public boolean isSaveResponseData() default true;
}
